/**
 * 时间格式化工具函数
 * @param date - 日期对象或时间戳
 * @param format - 格式字符串，支持的占位符包括：
 *   - `{y}`: 年份（四位）
 *   - `{M}`: 月份（两位，不足两位补零）
 *   - `{d}`: 日期（两位，不足两位补零）
 *   - `{H}`: 小时（24小时制，两位，不足两位补零）
 *   - `{m}`: 分钟（两位，不足两位补零）
 *   - `{s}`: 秒（两位，不足两位补零）
 * @returns 格式化后的字符串
 */
export function parseTime(date: Date | number, format: string): string {
    if (!date) return '';
  
    const d = date instanceof Date ? date : new Date(date);
    const now = {
      y: d.getFullYear(),
      M: padZero(d.getMonth() + 1),
      d: padZero(d.getDate()),
      H: padZero(d.getHours()),
      m: padZero(d.getMinutes()),
      s: padZero(d.getSeconds())
    };
  
    return format.replace(/\{y\}|\{M\}|\{d\}|\{H\}|\{m\}|\{s\}/g, function (match) {
      return now[match as keyof typeof now];
    });
  }
  
  /**
   * 补零函数
   * @param num - 需要补零的数字
   * @returns 补零后的字符串
   */
  function padZero(num: number): string {
    return num < 10 ? `0${num}` : `${num}`;
  }